Using navigation programs in mobile devices is becoming much more commonplace. Often, navigation programs rely on global positioning system (GPS) algorithms to determine an estimated location of the mobile device. Conventional GPS algorithms rely on timing data received from multiple GPS satellites identifiable within a line of sight to the mobile device in order to obtain a position fix that represents the estimated location. The estimated location of the mobile device may then be overlaid on a map obtained in connection with the navigation program, thereby showing a calculated position of the mobile device on a map of the navigation program. The navigation program may smoothly update the position of the mobile device on the map by regularly computing the estimated position of the mobile device as the mobile device moves, e.g., in a moving vehicle.
In some cases, the estimated location of the mobile device may be improved using additional data available in the mobile device. For example, various sensor data obtained from sensors built into the mobile device, such as accelerometers, gyroscopes, and barometers, may be utilized in the navigation program to improve the estimated location of the mobile device. However, there may be some drawbacks in utilizing the extra sensor data to obtain an estimated location, such as decreased battery life caused by the sensors' power consumption. Accordingly, there is a need for improved navigation systems and methods.